home *** CD-ROM | disk | FTP | other *** search
/ Champak 40 / Vol 40.iso / games / spark_to.swf / scripts / frame_6 / DoAction_2.as next >
Encoding:
Text File  |  2007-04-20  |  10.7 KB  |  416 lines

  1. function fnInit()
  2. {
  3.    var k = 1;
  4.    while(k <= 8)
  5.    {
  6.       eval("Row" + k + "_mc")._visible = 0;
  7.       k++;
  8.    }
  9. }
  10. function fnStartGame(difficulty)
  11. {
  12.    rowMover = "";
  13.    shotmover = "";
  14.    gShooting = false;
  15.    gScore = 0;
  16.    gTotalRows = 0;
  17.    gDifficulty = gSpeed[difficulty];
  18.    gPointInc = gPopScore[difficulty];
  19.    var k = 1;
  20.    while(k <= 8)
  21.    {
  22.       eval("Row" + k + "_mc")._visible = 0;
  23.       k++;
  24.    }
  25.    var k = 0;
  26.    while(k < gStartRows)
  27.    {
  28.       fnInitRow();
  29.       k++;
  30.    }
  31.    fnLoadGun();
  32.    pointer1_mc.onEnterFrame = rotateTowardsMouse;
  33.    fnStartMouseList();
  34.    rowMover = setInterval(fnInitRow,gDifficulty);
  35.    dropChecker = setInterval(fnCheckDrop,300);
  36. }
  37. function fnStartMouseList()
  38. {
  39.    mouseListener = new Object();
  40.    mouseListener.onMouseUp = fnShoot;
  41.    Mouse.addListener(mouseListener);
  42. }
  43. function fnStopMouseList()
  44. {
  45.    Mouse.removeListener(mouseListener);
  46. }
  47. function fnYouLost()
  48. {
  49.    fnStopMouseList();
  50.    clearInterval(rowMover);
  51.    clearInterval(shotMover);
  52.    clearInterval(dropChecker);
  53.    WinLose_mc.gotoAndStop("Lose");
  54. }
  55. function fnScore()
  56. {
  57.    gScore += Number(gPointInc);
  58. }
  59. function fnInitRow()
  60. {
  61.    var startRows = gTotalRows;
  62.    gTotalRows++;
  63.    if(gTotalRows == 8)
  64.    {
  65.       rowEmpty = fnCheckBottomRow();
  66.       if(rowEmpty)
  67.       {
  68.          gTotalRows = 7;
  69.       }
  70.       else
  71.       {
  72.          fnYouLost();
  73.       }
  74.    }
  75.    if(startRows != gTotalRows)
  76.    {
  77.       eval("Row" + gTotalRows + "_mc")._visible = 1;
  78.    }
  79.    var z = gTotalRows;
  80.    while(z > 0)
  81.    {
  82.       if(z == 1)
  83.       {
  84.          fnNewRow();
  85.       }
  86.       else
  87.       {
  88.          fnSlideRow(z);
  89.       }
  90.       z--;
  91.    }
  92. }
  93. function fnCheckBottomRow()
  94. {
  95.    var rowVal = true;
  96.    var i = 1;
  97.    while(i <= gObjInRow)
  98.    {
  99.       var currentObj = eval("Row7_mc.Obj" + i + "_mc")._currentframe;
  100.       if(CurrentObj <= gTotalObjects)
  101.       {
  102.          rowVal = false;
  103.          break;
  104.       }
  105.       i++;
  106.    }
  107.    return rowVal;
  108. }
  109. function fnNewRow()
  110. {
  111.    Audio_mc.gotoAndPlay("NewRow");
  112.    var i = 1;
  113.    while(i <= gObjInRow)
  114.    {
  115.       var rndnum = Number(1 + Math.floor(Math.random() * gTotalObjects));
  116.       eval("Row1_mc.Obj" + i + "_mc").gotoAndStop(rndnum);
  117.       i++;
  118.    }
  119. }
  120. function fnSlideRow(thisRow)
  121. {
  122.    var prevRow = Number(thisRow) - 1;
  123.    var i = 1;
  124.    while(i <= gObjInRow)
  125.    {
  126.       var objIndex = eval("Row" + prevRow + "_mc.Obj" + i + "_mc")._currentframe;
  127.       if(objIndex > gBonusFrame && objIndex != gParkFrame)
  128.       {
  129.          eval("Row" + thisRow + "_mc.Obj" + i + "_mc").gotoAndPlay(objIndex);
  130.       }
  131.       else
  132.       {
  133.          eval("Row" + thisRow + "_mc.Obj" + i + "_mc").gotoAndStop(objIndex);
  134.       }
  135.       i++;
  136.    }
  137. }
  138. function fnHitFirstObj(row, object, state)
  139. {
  140.    clearInterval(shotMover);
  141.    Shot_mc._visible = 0;
  142.    var targettedState = eval("Row" + row + "_mc.Obj" + object + "_mc")._currentframe;
  143.    if(state == targettedState or targettedState == gBonusFrame)
  144.    {
  145.       fnHitObj(row,object,targettedState);
  146.    }
  147.    else
  148.    {
  149.       bh = new Sound(Sounds);
  150.       bh.attachSound("BadHit");
  151.       bh.start();
  152.       if(eval("Row" + (Number(row) + 1) + "_mc")._visible == 1 && eval("Row" + (Number(row) + 1) + "_mc.Obj" + object + "_mc")._currentframe < 6)
  153.       {
  154.          if(xoffset < 0)
  155.          {
  156.             if(eval("Row" + row + "_mc.Obj" + Number(object) + 1 + "_mc")._currentframe < 6)
  157.             {
  158.                eval("Row" + (Number(row) + 1) + "_mc.Obj" + (Number(object) + 1) + "_mc").gotoAndStop(Number(state));
  159.             }
  160.             else
  161.             {
  162.                eval("Row" + Number(row) + "_mc.Obj" + (Number(object) + 1) + "_mc").gotoAndStop(Number(state));
  163.             }
  164.          }
  165.          else if(eval("Row" + row + "_mc.Obj" + Number(object) - 1 + "_mc")._currentframe < 6)
  166.          {
  167.             eval("Row" + (Number(row) + 1) + "_mc.Obj" + (Number(object) - 1) + "_mc").gotoAndStop(Number(state));
  168.          }
  169.          else
  170.          {
  171.             eval("Row" + Number(row) + "_mc.Obj" + (Number(object) - 1) + "_mc").gotoAndStop(Number(state));
  172.          }
  173.       }
  174.       else
  175.       {
  176.          if(Number(row) + 1 > gTotalRows)
  177.          {
  178.             var newrow = true;
  179.             gTotalRows++;
  180.             if(gTotalRows > 7)
  181.             {
  182.                fnYouLost();
  183.             }
  184.          }
  185.          if(newrow)
  186.          {
  187.             eval("Row" + gTotalRows + "_mc")._visible = 1;
  188.             var i = 1;
  189.             while(i <= gObjInRow)
  190.             {
  191.                eval("Row" + gTotalRows + "_mc.Obj" + i + "_mc").gotoAndStop(gParkFrame);
  192.                i++;
  193.             }
  194.          }
  195.          eval("Row" + (Number(row) + 1) + "_mc.Obj" + object + "_mc").gotoAndStop(Number(state));
  196.       }
  197.    }
  198.    fnLoadGun();
  199. }
  200. function fnHitObj(row, object, state)
  201. {
  202.    fnScore();
  203.    eval("Row" + row + "_mc.Obj" + object + "_mc").gotoAndPlay("hit");
  204.    if(row != 1)
  205.    {
  206.       if(eval("Row" + (row - 1) + "_mc.Obj" + object + "_mc")._currentframe == state)
  207.       {
  208.          fnHitObj(row - 1,object,state);
  209.       }
  210.       if(object < gObjInRow)
  211.       {
  212.          if(eval("Row" + (row - 1) + "_mc.Obj" + (Number(object) - 1) + "_mc")._currentframe == state)
  213.          {
  214.             fnHitObj(row - 1,object - 1,state);
  215.          }
  216.       }
  217.       if(object > 1)
  218.       {
  219.          if(eval("Row" + (row - 1) + "_mc.Obj" + (Number(object) + 1) + "_mc")._currentframe == state)
  220.          {
  221.             fnHitObj(row - 1,Number(object) + 1,state);
  222.          }
  223.       }
  224.    }
  225.    if(object > 1)
  226.    {
  227.       if(eval("Row" + row + "_mc.Obj" + (Number(object) - 1) + "_mc")._currentframe == state)
  228.       {
  229.          fnHitObj(row,object - 1,state);
  230.       }
  231.    }
  232.    if(object < gObjInRow)
  233.    {
  234.       if(eval("Row" + row + "_mc.Obj" + (Number(object) + 1) + "_mc")._currentframe == state)
  235.       {
  236.          fnHitObj(row,Number(object) + 1,state);
  237.       }
  238.    }
  239.    if(row != gTotalRows)
  240.    {
  241.       if(eval("Row" + (Number(row) + 1) + "_mc.Obj" + object + "_mc")._currentframe == state)
  242.       {
  243.          fnHitObj(Number(row) + 1,object,state);
  244.       }
  245.       if(object > 1)
  246.       {
  247.          if(eval("Row" + (Number(row) + 1) + "_mc.Obj" + (Number(object) - 1) + "_mc")._currentframe == state)
  248.          {
  249.             fnHitObj(Number(row) + 1,Number(object) - 1,state);
  250.          }
  251.       }
  252.       if(object < gObjInRow)
  253.       {
  254.          if(eval("Row" + (Number(row) + 1) + "_mc.Obj" + (Number(object) + 1) + "_mc")._currentframe == state)
  255.          {
  256.             fnHitObj(Number(row) + 1,Number(object) + 1,state);
  257.          }
  258.       }
  259.    }
  260. }
  261. function fnZapRow(row, obj)
  262. {
  263.    var i = 1;
  264.    while(i <= gObjInRow)
  265.    {
  266.       if(eval("Row" + row + "_mc.Obj" + i + "_mc")._currentframe <= gBonusFrame)
  267.       {
  268.          eval("Row" + row + "_mc.Obj" + i + "_mc").gotoAndStop(gParkFrame);
  269.          fnScore();
  270.       }
  271.       i++;
  272.    }
  273. }
  274. function fnCheckDrop()
  275. {
  276.    var rw = 2;
  277.    while(rw <= _root.gTotalRows)
  278.    {
  279.       var obj = 1;
  280.       while(obj <= gObjInRow)
  281.       {
  282.          if(eval("Row" + (rw - 1) + "_mc.Obj" + (Number(obj) - 1) + "_mc")._currentframe > gAnimStartFrame or eval("Row" + (rw - 1) + "_mc.Obj" + (Number(obj) - 1) + "_mc")._currentframe == undefined)
  283.          {
  284.             if(eval("Row" + (rw - 1) + "_mc.Obj" + (Number(obj) + 1) + "_mc")._currentframe > gAnimStartFrame or eval("Row" + (rw - 1) + "_mc.Obj" + (Number(obj) + 1) + "_mc")._currentframe == undefined)
  285.             {
  286.                if(eval("Row" + (rw - 1) + "_mc.Obj" + Number(obj) + "_mc")._currentframe > gAnimStartFrame and eval("Row" + rw + "_mc.Obj" + Number(obj) + "_mc")._currentframe <= gBonusFrame)
  287.                {
  288.                   fnDropObj(rw,obj);
  289.                }
  290.             }
  291.          }
  292.          obj++;
  293.       }
  294.       rw++;
  295.    }
  296. }
  297. function fnDropObj(rw, obj)
  298. {
  299.    gDropindx++;
  300.    duplicateMovieClip("Drop_mc","Dropper" + gDropindx,16384 + gDropindx);
  301.    eval("Dropper" + gDropindx).head = eval("Row" + rw + "_mc.Obj" + Number(obj) + "_mc")._currentframe;
  302.    eval("Row" + rw + "_mc.Obj" + Number(obj) + "_mc").gotoAndStop(gParkFrame);
  303.    eval("Dropper" + gDropindx)._y = 105 + 45 * (rw - 1);
  304.    eval("Dropper" + gDropindx)._x = 35 + 50 * (obj - 1);
  305. }
  306. function fnLoadGun()
  307. {
  308.    var _loc1_ = Number(1 + Math.floor(Math.random() * gTotalObjects));
  309.    Shot_mc.gotoAndStop(_loc1_);
  310.    Shot_mc._x = gBaseX;
  311.    Shot_mc._y = gBaseY;
  312.    Shot_mc._visible = 1;
  313. }
  314. function fnShoot()
  315. {
  316.    trace(BonusPlaying);
  317.    if(BonusPlaying != true)
  318.    {
  319.       s = new Sound(Sounds);
  320.       s.attachSound("Shoot");
  321.       s.start();
  322.       if(gShooting != true)
  323.       {
  324.          gShooting = true;
  325.          var _loc1_ = _root.pointer1_mc._rotation;
  326.          if(_loc1_ < -87 && _loc1_ > -93)
  327.          {
  328.             yoffset = -10;
  329.             xoffset = 0;
  330.          }
  331.          else if(_loc1_ < -90)
  332.          {
  333.             _loc1_ = - (180 + _loc1_);
  334.             yoffset = _loc1_ / 10;
  335.             xoffset = - (10 + yoffset);
  336.          }
  337.          else
  338.          {
  339.             yoffset = _loc1_ / 10;
  340.             xoffset = 10 + yoffset;
  341.          }
  342.          yoffset *= gBallMov;
  343.          xoffset *= gBallMov;
  344.          shotMover = setInterval(fnMoveBall,gBallSpeed);
  345.       }
  346.    }
  347. }
  348. function fnMoveBall()
  349. {
  350.    var newX = Shot_mc._x + xoffset;
  351.    var newY = Shot_mc._y + yoffset;
  352.    if(newX < 10 || newX > 570 || newY < 60)
  353.    {
  354.       clearInterval(shotMover);
  355.       gShooting = false;
  356.       fnLoadGun();
  357.    }
  358.    else
  359.    {
  360.       Shot_mc._x = newX;
  361.       Shot_mc._y = newY;
  362.    }
  363.    var rw = gTotalRows;
  364.    while(rw >= 1)
  365.    {
  366.       var obj = 1;
  367.       while(obj <= gObjInRow)
  368.       {
  369.          if(eval("_root.Row" + rw + "_mc.Obj" + obj + "_mc").hitTest("_root.Shot_mc"))
  370.          {
  371.             gShooting = false;
  372.             var tempstate = _root.Shot_mc._currentframe;
  373.             fnHitFirstObj(rw,obj,tempstate);
  374.             clearInterval(shotMover);
  375.             obj = 100;
  376.          }
  377.          obj++;
  378.       }
  379.       rw--;
  380.    }
  381. }
  382. gStartRows = 1;
  383. gTotalRows = 0;
  384. gTotalObjects = 5;
  385. gObjInRow = 12;
  386. gDifficulty;
  387. gScore = 0;
  388. gBaseX = 295;
  389. gBaseY = 425;
  390. gBallMov = 2;
  391. gBallSpeed = 15;
  392. gShooting = false;
  393. gSpeed = [12000,9000,6000];
  394. gPopScore = [1,2,3];
  395. gBonusRatio = 9;
  396. gDropindx = 1;
  397. gBonusFrame = 7;
  398. gAnimStartFrame = 20;
  399. gParkFrame = 27;
  400. fnInit();
  401. _global.radiansToDegrees = function(radians)
  402. {
  403.    return radians / 3.141592653589793 * 180;
  404. };
  405. MovieClip.prototype.rotateTowardsMouse = function()
  406. {
  407.    var _loc2_ = this;
  408.    var _loc1_ = {x:_loc2_._x,y:_loc2_._y};
  409.    _loc2_._parent.localToGlobal(_loc1_);
  410.    var deltaX = _root._xmouse - _loc1_.x;
  411.    var deltaY = _root._ymouse - _loc1_.y;
  412.    var _loc3_ = Math.atan2(deltaY,deltaX);
  413.    var rotationAngle = radiansToDegrees(_loc3_);
  414.    _loc2_._rotation = rotationAngle;
  415. };
  416.